package io.terminus.spzx.user.service;

import io.terminus.spzx.model.dto.h5.UserLoginDto;
import io.terminus.spzx.model.dto.h5.UserRegisterDto;
import io.terminus.spzx.model.vo.h5.UserInfoVo;

/**
 * @Author lichunlong lcl253137@alibaba-inc.com
 * @Desc 会员用户Service接口
 * @Date 2024-11-17
 */
public interface UserInfoService {

    /**
     * 注册会员用户
     *
     * @param userRegisterDto 会员用户DTO
     */
    void register(UserRegisterDto userRegisterDto);

    /**
     * 会员用户登录
     *
     * @param userLoginDto 会员用户登录DTO
     * @return 用户登录Token
     */
    String login(UserLoginDto userLoginDto);

    /**
     * 获取当前会员用户
     *
     * @param token 登录Token
     * @return 当前会员用户
     */
    UserInfoVo getCurrentUserInfo(String token);
}
